package come.bjpowernode.javase.thread;
/*
怎么合理的终止一个线程的执行。这种方式是很常用的。
 */
public class ThreadTest10 {
    public static void main(String[] args) {
        MyRunnable4  myRunnable4 = new MyRunnable4();
        Thread t = new Thread(myRunnable4);
        t.setName("t");
        t.start();

        //模拟5s
        try {
            Thread.sleep(1000*5);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        if (myRunnable4.run){
            System.out.println("true=true=true=true");
        }
        //终止线程
        //想什么时候终止t的执行，把标记修改为false
        myRunnable4.run = false;
        if (!myRunnable4.run){
            System.out.println("true-true-true-true");
        }


    }
}

class MyRunnable4 implements Runnable{
    //打一个布尔标记。
    boolean run = true;
    public void run(){
        for(int i = 0; i < 10; i++){
            if(run){
                System.out.println(Thread.currentThread().getName()
                        +"-->" + i);
                try {
                    Thread.sleep(1000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }else{
                //终止当前线程
                return;
            }
        }
    }
}
